<?php
/*******************************************************************************
* ajax-list-values.php
* 自动完成php程序
* auto complete php script
* 功能描述
* 根据get方式传来的值从数据库中查找相匹配的文本, 分别从customer表和contact表查找
* Function Desc

* Revision 0.044  2007/09/10 17:00:00  by solo
* Desc: add some comments
* 描述: 增加了一些注释

********************************************************************************/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
	</head>
<?php 
require_once ("db_connect.php");

if(isset($_GET['getCustomersByLetters']) && isset($_GET['letters'])){
	$letters = $_GET['letters'];
	if ($letters != mb_convert_encoding($letters,"UTF-8","UTF-8"))
			$letters=mb_convert_encoding($letters,"UTF-8","GB2312");

	$query = "SELECT id,customer FROM customer WHERE customer LIKE '%".$letters."%'";
	$result = mysql_query($query);
	$erno = mysql_errno();
	$err  = mysql_error();
	if ($erno <> 0) die("Get customer values"."|".$query."<br>".$err);
	while($inf = mysql_fetch_array($result)){
		echo $inf["id"]."###".$inf["customer"]."|";
	}	
}elseif (isset($_GET['getContactsByLetters']) && isset($_GET['letters']) && isset($_GET['customerid']) && $_GET['customerid'] != ''){
	$letters = $_GET['letters'];
	if ($letters != mb_convert_encoding($letters,"UTF-8","UTF-8"))
			$letters=mb_convert_encoding($letters,"UTF-8","GB2312");
	$query = "SELECT id,contact FROM contact WHERE contact LIKE '%". $letters ."%' AND customerid=" . $_GET['customerid'];
	$result = mysql_query($query);
	$erno = mysql_errno();
	$err  = mysql_error();
	if ($erno <> 0) die("Get contact values"."|".$query."<br>".$err);
	while($inf = mysql_fetch_array($result)){
		echo $inf["id"]."###".$inf["contact"]."|";
	}	
}


function g($num){ 
$d=array( 
  array("a",-20319), 
  array("ai",-20317), 
  array("an",-20304), 
  array("ang",-20295), 
  array("ao",-20292), 
  array("ba",-20283), 
  array("bai",-20265), 
  array("ban",-20257), 
  array("bang",-20242), 
  array("bao",-20230), 
  array("bei",-20051), 
  array("ben",-20036), 
  array("beng",-20032), 
  array("bi",-20026), 
  array("bian",-20002), 
  array("biao",-19990), 
  array("bie",-19986), 
  array("bin",-19982), 
  array("bing",-19976), 
  array("bo",-19805), 
  array("bu",-19784), 
  array("ca",-19775), 
  array("cai",-19774), 
  array("can",-19763), 
  array("cang",-19756), 
  array("cao",-19751), 
  array("ce",-19746), 
  array("ceng",-19741), 
  array("cha",-19739), 
  array("chai",-19728), 
  array("chan",-19725), 
  array("chang",-19715), 
  array("chao",-19540), 
  array("che",-19531), 
  array("chen",-19525), 
  array("cheng",-19515), 
  array("chi",-19500), 
  array("chong",-19484), 
  array("chou",-19479), 
  array("chu",-19467), 
  array("chuai",-19289), 
  array("chuan",-19288), 
  array("chuang",-19281), 
  array("chui",-19275), 
  array("chun",-19270), 
  array("chuo",-19263), 
  array("ci",-19261), 
  array("cong",-19249), 
  array("cou",-19243), 
  array("cu",-19242), 
  array("cuan",-19238), 
  array("cui",-19235), 
  array("cun",-19227), 
  array("cuo",-19224), 
  array("da",-19218), 
  array("dai",-19212), 
  array("dan",-19038), 
  array("dang",-19023), 
  array("dao",-19018), 
  array("de",-19006), 
  array("deng",-19003), 
  array("di",-18996), 
  array("dian",-18977), 
  array("diao",-18961), 
  array("die",-18952), 
  array("ding",-18783), 
  array("diu",-18774), 
  array("dong",-18773), 
  array("dou",-18763), 
  array("du",-18756), 
  array("duan",-18741), 
  array("dui",-18735), 
  array("dun",-18731), 
  array("duo",-18722), 
  array("e",-18710), 
  array("en",-18697), 
  array("er",-18696), 
  array("fa",-18526), 
  array("fan",-18518), 
  array("fang",-18501), 
  array("fei",-18490), 
  array("fen",-18478), 
  array("feng",-18463), 
  array("fo",-18448), 
  array("fou",-18447), 
  array("fu",-18446), 
  array("ga",-18239), 
  array("gai",-18237), 
  array("gan",-18231), 
  array("gang",-18220), 
  array("gao",-18211), 
  array("ge",-18201), 
  array("gei",-18184), 
  array("gen",-18183), 
  array("geng",-18181), 
  array("gong",-18012), 
  array("gou",-17997), 
  array("gu",-17988), 
  array("gua",-17970), 
  array("guai",-17964), 
  array("guan",-17961), 
  array("guang",-17950), 
  array("gui",-17947), 
  array("gun",-17931), 
  array("guo",-17928), 
  array("ha",-17922), 
  array("hai",-17759), 
  array("han",-17752), 
  array("hang",-17733), 
  array("hao",-17730), 
  array("he",-17721), 
  array("hei",-17703), 
  array("hen",-17701), 
  array("heng",-17697), 
  array("hong",-17692), 
  array("hou",-17683), 
  array("hu",-17676), 
  array("hua",-17496), 
  array("huai",-17487), 
  array("huan",-17482), 
  array("huang",-17468), 
  array("hui",-17454), 
  array("hun",-17433), 
  array("huo",-17427), 
  array("ji",-17417), 
  array("jia",-17202), 
  array("jian",-17185), 
  array("jiang",-16983), 
  array("jiao",-16970), 
  array("jie",-16942), 
  array("jin",-16915), 
  array("jing",-16733), 
  array("jiong",-16708), 
  array("jiu",-16706), 
  array("ju",-16689), 
  array("juan",-16664), 
  array("jue",-16657), 
  array("jun",-16647), 
  array("ka",-16474), 
  array("kai",-16470), 
  array("kan",-16465), 
  array("kang",-16459), 
  array("kao",-16452), 
  array("ke",-16448), 
  array("ken",-16433), 
  array("keng",-16429), 
  array("kong",-16427), 
  array("kou",-16423), 
  array("ku",-16419), 
  array("kua",-16412), 
  array("kuai",-16407), 
  array("kuan",-16403), 
  array("kuang",-16401), 
  array("kui",-16393), 
  array("kun",-16220), 
  array("kuo",-16216), 
  array("la",-16212), 
  array("lai",-16205), 
  array("lan",-16202), 
  array("lang",-16187), 
  array("lao",-16180), 
  array("le",-16171), 
  array("lei",-16169), 
  array("leng",-16158), 
  array("li",-16155), 
  array("lia",-15959), 
  array("lian",-15958), 
  array("liang",-15944), 
  array("liao",-15933), 
  array("lie",-15920), 
  array("lin",-15915), 
  array("ling",-15903), 
  array("liu",-15889), 
  array("long",-15878), 
  array("lou",-15707), 
  array("lu",-15701), 
  array("lv",-15681), 
  array("luan",-15667), 
  array("lue",-15661), 
  array("lun",-15659), 
  array("luo",-15652), 
  array("ma",-15640), 
  array("mai",-15631), 
  array("man",-15625), 
  array("mang",-15454), 
  array("mao",-15448), 
  array("me",-15436), 
  array("mei",-15435), 
  array("men",-15419), 
  array("meng",-15416), 
  array("mi",-15408), 
  array("mian",-15394), 
  array("miao",-15385), 
  array("mie",-15377), 
  array("min",-15375), 
  array("ming",-15369), 
  array("miu",-15363), 
  array("mo",-15362), 
  array("mou",-15183), 
  array("mu",-15180), 
  array("na",-15165), 
  array("nai",-15158), 
  array("nan",-15153), 
  array("nang",-15150), 
  array("nao",-15149), 
  array("ne",-15144), 
  array("nei",-15143), 
  array("nen",-15141), 
  array("neng",-15140), 
  array("ni",-15139), 
  array("nian",-15128), 
  array("niang",-15121), 
  array("niao",-15119), 
  array("nie",-15117), 
  array("nin",-15110), 
  array("ning",-15109), 
  array("niu",-14941), 
  array("nong",-14937), 
  array("nu",-14933), 
  array("nv",-14930), 
  array("nuan",-14929), 
  array("nue",-14928), 
  array("nuo",-14926), 
  array("o",-14922), 
  array("ou",-14921), 
  array("pa",-14914), 
  array("pai",-14908), 
  array("pan",-14902), 
  array("pang",-14894), 
  array("pao",-14889), 
  array("pei",-14882), 
  array("pen",-14873), 
  array("peng",-14871), 
  array("pi",-14857), 
  array("pian",-14678), 
  array("piao",-14674), 
  array("pie",-14670), 
  array("pin",-14668), 
  array("ping",-14663), 
  array("po",-14654), 
  array("pu",-14645), 
  array("qi",-14630), 
  array("qia",-14594), 
  array("qian",-14429), 
  array("qiang",-14407), 
  array("qiao",-14399), 
  array("qie",-14384), 
  array("qin",-14379), 
  array("qing",-14368), 
  array("qiong",-14355), 
  array("qiu",-14353), 
  array("qu",-14345), 
  array("quan",-14170), 
  array("que",-14159), 
  array("qun",-14151), 
  array("ran",-14149), 
  array("rang",-14145), 
  array("rao",-14140), 
  array("re",-14137), 
  array("ren",-14135), 
  array("reng",-14125), 
  array("ri",-14123), 
  array("rong",-14122), 
  array("rou",-14112), 
  array("ru",-14109), 
  array("ruan",-14099), 
  array("rui",-14097), 
  array("run",-14094), 
  array("ruo",-14092), 
  array("sa",-14090), 
  array("sai",-14087), 
  array("san",-14083), 
  array("sang",-13917), 
  array("sao",-13914), 
  array("se",-13910), 
  array("sen",-13907), 
  array("seng",-13906), 
  array("sha",-13905), 
  array("shai",-13896), 
  array("shan",-13894), 
  array("shang",-13878), 
  array("shao",-13870), 
  array("she",-13859), 
  array("shen",-13847), 
  array("sheng",-13831), 
  array("shi",-13658), 
  array("shou",-13611), 
  array("shu",-13601), 
  array("shua",-13406), 
  array("shuai",-13404), 
  array("shuan",-13400), 
  array("shuang",-13398), 
  array("shui",-13395), 
  array("shun",-13391), 
  array("shuo",-13387), 
  array("si",-13383), 
  array("song",-13367), 
  array("sou",-13359), 
  array("su",-13356), 
  array("suan",-13343), 
  array("sui",-13340), 
  array("sun",-13329), 
  array("suo",-13326), 
  array("ta",-13318), 
  array("tai",-13147), 
  array("tan",-13138), 
  array("tang",-13120), 
  array("tao",-13107), 
  array("te",-13096), 
  array("teng",-13095), 
  array("ti",-13091), 
  array("tian",-13076), 
  array("tiao",-13068), 
  array("tie",-13063), 
  array("ting",-13060), 
  array("tong",-12888), 
  array("tou",-12875), 
  array("tu",-12871), 
  array("tuan",-12860), 
  array("tui",-12858), 
  array("tun",-12852), 
  array("tuo",-12849), 
  array("wa",-12838), 
  array("wai",-12831), 
  array("wan",-12829), 
  array("wang",-12812), 
  array("wei",-12802), 
  array("wen",-12607), 
  array("weng",-12597), 
  array("wo",-12594), 
  array("wu",-12585), 
  array("xi",-12556), 
  array("xia",-12359), 
  array("xian",-12346), 
  array("xiang",-12320), 
  array("xiao",-12300), 
  array("xie",-12120), 
  array("xin",-12099), 
  array("xing",-12089), 
  array("xiong",-12074), 
  array("xiu",-12067), 
  array("xu",-12058), 
  array("xuan",-12039), 
  array("xue",-11867), 
  array("xun",-11861), 
  array("ya",-11847), 
  array("yan",-11831), 
  array("yang",-11798), 
  array("yao",-11781), 
  array("ye",-11604), 
  array("yi",-11589), 
  array("yin",-11536), 
  array("ying",-11358), 
  array("yo",-11340), 
  array("yong",-11339), 
  array("you",-11324), 
  array("yu",-11303), 
  array("yuan",-11097), 
  array("yue",-11077), 
  array("yun",-11067), 
  array("za",-11055), 
  array("zai",-11052), 
  array("zan",-11045), 
  array("zang",-11041), 
  array("zao",-11038), 
  array("ze",-11024), 
  array("zei",-11020), 
  array("zen",-11019), 
  array("zeng",-11018), 
  array("zha",-11014), 
  array("zhai",-10838), 
  array("zhan",-10832), 
  array("zhang",-10815), 
  array("zhao",-10800), 
  array("zhe",-10790), 
  array("zhen",-10780), 
  array("zheng",-10764), 
  array("zhi",-10587), 
  array("zhong",-10544), 
  array("zhou",-10533), 
  array("zhu",-10519), 
  array("zhua",-10331), 
  array("zhuai",-10329), 
  array("zhuan",-10328), 
  array("zhuang",-10322), 
  array("zhui",-10315), 
  array("zhun",-10309), 
  array("zhuo",-10307), 
  array("zi",-10296), 
  array("zong",-10281), 
  array("zou",-10274), 
  array("zu",-10270), 
  array("zuan",-10262), 
  array("zui",-10260), 
  array("zun",-10256), 
  array("zuo",-10254) 
); 
  if($num>0&&$num<160){ 
   return chr($num); 
  } 
  elseif($num<-20319||$num>-10247){ 
   return ""; 
  }else{ 
   for($i=count($d)-1;$i>=0;$i--){if($d[$i][1]<=$num)break;} 
   return $d[$i][0]; 
  } 
 } 

 function c($str){ 
  $ret=""; 
  for($i=0;$i<strlen($str);$i++){ 
   $p=ord(substr($str,$i,1)); 
   if($p>160){ 
    $q=ord(substr($str,++$i,1)); 
    $p=$p*256+$q-65536; 
   } 
   $ret.=g($p); 
  } 
  return $ret; 
}
?>